Method and apparatus to reduce serial bus transmission power

ABSTRACT

In some embodiments, a serial bus interface circuit includes at least two serial ports, a memory to store a relationship between serial bus addresses and the at least two serial ports, and a controller to control access to the at least two serial ports. The controller may be configured to receive an access request for a serial bus address, determine a first port of the at least two serial ports corresponding to the serial bus address using the relationships stored in the memory, and disable a second port of the at least two serial ports. Other embodiments are disclosed and claimed.

The invention relates to power management and more particularly to amethod and apparatus to reduce USB transmission power.

BACKGROUND AND RELATED ART

Many electronic devices utilize serial buses.

BRIEF DESCRIPTION OF THE DRAWINGS

Various features of the invention will be apparent from the followingdescription of preferred embodiments as illustrated in the accompanyingdrawings, in which like reference numerals generally refer to the sameparts throughout the drawings. The drawings are not necessarily toscale, the emphasis instead being placed upon illustrating theprinciples of the invention.

FIG. 1 is a block diagram of a serial bus interface circuit inaccordance with some embodiments of the invention.

FIG. 2 is a block diagram of an electronic system in accordance withsome embodiments of the invention.

FIG. 3 is a flow diagram in accordance with some embodiments of theinvention.

FIG. 4 is a block diagram of another serial bus interface circuit inaccordance with some embodiments of the invention.

FIG. 5 is a block diagram of another serial bus interface circuit inaccordance with some embodiments of the invention.

DESCRIPTION

In the following description, for purposes of explanation and notlimitation, specific details are set forth such as particularstructures, architectures, interfaces, techniques, etc. in order toprovide a thorough understanding of the various aspects of theinvention. However, it will be apparent to those skilled in the arthaving the benefit of the present disclosure that the various aspects ofthe invention may be practiced in other examples that depart from thesespecific details. In certain instances, descriptions of well knowndevices, circuits, and methods are omitted so as not to obscure thedescription of the present invention with unnecessary detail.

With reference to FIG. 1, in accordance with some embodiments of theinvention a serial bus interface circuit 10 includes at least two serialports 12, a memory 14 to store a relationship between serial busaddresses and the at least two serial ports 12, and a controller 16 tocontrol access to the at least two serial ports 12. For example, thecontroller may be configured to receive an access request for a serialbus address, determine a first port of the at least two serial ports 12corresponding to the serial bus address based on the relationshipsstored in the memory, and disable a second port of the at least twoserial ports 12.

For example, the memory may include a lookup table and the controllermay be configured to lookup the first port in the lookup table based onthe serial bus address. In some embodiments of the invention, thecontroller may be a host controller and a direct access memory (DMA)engine may have access to the lookup table. For example, the lookuptable may be updated when a new device is connected to the host. In someembodiments of the invention, the controller may be a hub controller anda hub state machine may have access to the lookup table. For example,the lookup table may then be updated when a new device is connected tothe hub.

With reference to FIG. 2, in accordance with some embodiments of theinvention an electronic system 20 may include a processor 22, memory 23coupled to the processor 22, and a universal serial bus (USB) interfacecircuit 24. For example the USB interface circuit 24 may include atleast two USB ports 25, a local memory 26 to store a relationshipbetween serial bus addresses and the at least two USB ports 25, and acontroller 27 to control access to the at least two USB ports 27. Forexample, the controller may be configured to receive an access requestfor a serial bus address, determine a first USB port of the at least twoUSB ports 25 corresponding to the serial bus address using therelationships stored in the local memory 26, and disable a second USBport of the at least two USB ports 25.

In some embodiments of the electronic system 20, the local memory 26 mayinclude a lookup table and the controller 27 may be configured to lookupthe first USB port in the lookup table based on the serial bus address.For example, the controller 27 may be a host controller and a directaccess memory (DMA) engine may have access to the lookup table. Thelookup table may be updated when a new device is connected to the host.In some embodiments of the electronic system 20, the controller may be ahub controller and a hub state machine may have access to the lookuptable. For example, the lookup table may then be updated when a newdevice is connected to the hub.

With reference to FIG. 3, in accordance with some embodiments of theinvention, a method of operating a serial bus interface may includeproviding at least two serial ports (e.g. at block 30), storing arelationship between serial bus addresses and the at least two serialports (e.g. at block 31), receiving an access request for a serial busaddress (e.g. at block 32), determining a first port of the at least twoserial ports corresponding to the serial bus address based on the storedrelationships (e.g. at block 33), and disabling a second port of the atleast two serial ports (e.g. at block 34).

For example, the memory may include a lookup table some embodiments ofthe invention may further include looking up the first port in thelookup table based on the serial bus address (e.g. at block 35),accessing the lookup table from a direct access memory (DMA) engine on ahost device (e.g. at block 36), and/or updating the lookup table when anew device is connected to the host device (e.g. at block 37).Alternatively, some embodiments of the invention may include accessingthe lookup table from a hub state machine on a hub device (e.g. at block38) and updating the lookup table when a new device is connected to thehub device (e.g. at block 39).

By way of background and without limiting the scope of the invention,USB 1 and USB 2 architectures dictate that a host needs to broadcast theserial bus requests to all ports even though a response is required fromjust one port. This has caused a lot of power dissipated unnecessarily.In an example electronic system where 8 ports are available percontroller, transmission to a fully populated system, 255 mW of powermay be consumed versus transmission on a one port system consuming only64 mW. In this example, about 191 mW of power is wasted. Advantageously,some embodiments of the invention may reduce the power requirements in aserial bus interface (e.g. a host and/or a hub) and still keepcompatibility with many hardware and software configurations.

For example, in some embodiments of the invention a lookup table maycontain all the possible USB addresses with each address indexed to itscorresponding port. The lookup table may be stored in the USB hostand/or hub and utilized to save power by disabling ports that do notrequire power to process a transaction. For example, in a host device,when a transfer descriptor is fetched with a certain address, the hostcontroller may refer to the lookup table and disable all the portsexcept the port in the lookup table that corresponds to the address. Forexample, in a hub device, when a packet is received from upstream port,the hub controller may refer to the lookup table and disable all theports except the port in the lookup table that corresponds to theaddress in the packet.

The lookup table may be periodically updated or otherwise updated asneeded. For example, the lookup table may be programmed every time adevice is plugged in. For example, a USB driver may be configured toprogram the lookup table every time a device is enumerated.Alternatively, for a virtualization engine, the engine can trap theenumeration and program the lookup table accordingly. Advantageously,backward compatibility is maintained because even if the software driveris not configured in accordance with the power saving features of thepresent invention, the hardware will still run, just without the powersaving. Advantageously, some embodiments of the present invention mayprevent transmission to the non-relevant ports while adhering to the USBspecification.

With reference to FIG. 4, a host device 40 in accordance with someembodiments of the invention may include a DMA layer 42, a protocollayer 44, and a transceiver layer 46. The DMA layer 42 may have accessto a lookup table 48 which maps addresses to ports. In many conventionalsystems, the address port relationship is abstracted from the DMA engineat a later point. For example, the DMA engine may know what address tosend, but not which port to send to. Advantageously, some embodiments ofthe invention may provide the DMA engine with the information and alsoprovide a communication path to the transceiver layer 46 to shut offnon-relevant ports before transmitting data, thereby saving power.

With reference to FIG. 5, a hub device 50 in accordance with someembodiments of the invention may include an upstream port 52 connectedwith at least two downstream ports 54. A hub state machine 56 mayreceive an access request and use the address of the request packet toindex a lookup table 58. The lookup table 58 outputs a port enablesignal to the downstream port 54 which corresponds to the entry in thelookup table 58 indexed by the address for the request packet. The otherdownstream ports may be disabled, thereby saving power.

Advantageously, reducing power in the USB interface may effectivelylower the Thermal Design Power (TDP) for an electronic system. Forexample, lower TDP may help facilitate reduced cooling requirements andfanless or heatsinkless products to be able to fit into a smaller formfactor. Advantageously, some embodiments of the invention may extendbattery life by reducing power.

The foregoing and other aspects of the invention are achievedindividually and in combination. The invention should not be construedas requiring two or more of such aspects unless expressly required by aparticular claim. Moreover, while the invention has been described inconnection with what is presently considered to be the preferredexamples, it is to be understood that the invention is not limited tothe disclosed examples, but on the contrary, is intended to covervarious modifications and equivalent arrangements included within thespirit and the scope of the invention.

1. A serial bus interface circuit, comprising: at least two serialports; a memory to store a relationship between serial bus addresses andthe at least two serial ports; and a controller to control access to theat least two serial ports, wherein the controller is configured to:receive an access request for a serial bus address; determine a firstport of the at least two serial ports corresponding to the serial busaddress using the relationships stored in the memory; and disable asecond port of the at least two serial ports.
 2. The serial businterface circuit of claim 1, wherein the memory comprises a lookuptable and wherein the controller is configured to lookup the first portin the lookup table based on the serial bus address.
 3. The serial businterface circuit of claim 2, wherein the controller comprises a hostcontroller and wherein a direct access memory (DMA) engine has access tothe lookup table.
 4. The serial bus interface circuit of claim 3,wherein the lookup table is updated when a new device is connected tothe host.
 5. The serial bus interface circuit of claim 2, wherein thecontroller comprises a hub controller and wherein a hub state machinehas access to the lookup table.
 6. The serial bus interface circuit ofclaim 5, wherein the lookup table is updated when a new device isconnected to the hub.
 7. A method of operating a serial bus interface,comprising: providing at least two serial ports; storing a relationshipbetween serial bus addresses and the at least two serial ports;receiving an access request for a serial bus address; determining afirst port of the at least two serial ports corresponding to the serialbus address based on the stored relationships; and disabling a secondport of the at least two serial ports.
 8. The method of claim 7, whereinthe memory comprises a lookup table and further comprising: looking upthe first port in the lookup table based on the serial bus address. 9.The method of claim 8, further comprising: accessing the lookup tablefrom a direct access memory (DMA) engine on a host device.
 10. Themethod of claim 9, further comprising: updating the lookup table when anew device is connected to the host device.
 11. The method of claim 8,further comprising: accessing the lookup table from a hub state machineon a hub device.
 12. The method of claim 11, further comprising:updating the lookup table when a new device is connected to the hubdevice.
 13. An electronic system, comprising: a processor; memorycoupled to the processor; and a universal serial bus (USB) interfacecircuit including: at least two USB ports; a local memory to store arelationship between serial bus addresses and the at least two USBports; and a controller to control access to the at least two USB ports,wherein the controller is configured to: receive an access request for aserial bus address; determine a first USB port of the at least two USBports corresponding to the serial bus address using the relationshipsstored in the local memory; and disable a second USB port of the atleast two USB ports.
 14. The electronic system of claim 13, wherein thelocal memory comprises a lookup table and wherein the controller isconfigured to lookup the first USB port in the lookup table based on theserial bus address.
 15. The electronic system of claim 14, wherein thecontroller comprises a host controller and wherein a direct accessmemory (DMA) engine has access to the lookup table.
 16. The electronicsystem of claim 15, wherein the lookup table is updated when a newdevice is connected to the host.
 17. The electronic system of claim 14,wherein the controller comprises a hub controller and wherein a hubstate machine has access to the lookup table.
 18. The electronic systemof claim 17, wherein the lookup table is updated when a new device isconnected to the hub.